@Sophia
2年前 提问
1个回答

软件安全漏洞持续增长的原因是什么

在下炳尚
2年前
官方采纳

软件安全漏洞持续增长的原因主要包括以下几个方面。

软件开发安全意识淡薄

传统软件开发更多的重视软件功能,而不注重对安全风险的管理。软件开发公司工期紧、任务重,为争夺客户资源、抢夺市场份额而仓促发布软件。软件开发人员将软件功能视为头等大事,对软件安全架构、安全防护措施认识不够,只关注是否实现需要的功能,不从“坏人”的角度来思考软件安全问题。

软件开发缺乏安全知识

传统软件公司中,公司管理层和软件开发人员都缺乏软件安全开发知识,不知道如何才能更好地实现安全的软件。公司管理层缺乏软件安全开发的管理流程、方法和技巧,缺少正确的安全经验积累和培训教材。软件开发人员大多数仅仅从学校学会编程技巧,不了解如何将软件安全需求、安全特性和编程方法进行结合。

软件趋向大型化和复杂化

现代软件功能越来越强,功能组件越来越多,软件也变得越来越复杂。从表10-1可以看出,操作系统的代码量是相当惊人的,而且随着版本的更新,代码量迅速增加。现在基于网络的应用系统更多地采用了分布式、集群和可扩展架构,使得软件的内部结构错综复杂。研究显示,软件漏洞的增长同软件复杂性、代码行数的增长呈现正相关的关系,即“代码行越多,缺陷也就越多”。

软件第三方扩展增多

目前软件应用向可扩展化方向发展,成熟的软件也可以接受开发者或第三方的扩展,系统功能得到扩充,以满足用户不同的需求。如Firefox和chrome浏览器支持第三方插件、Windows操作系统支持动态加载第三方驱动程序、Word和Excel等软件支持第三方脚本和组件运行等,这些可扩展性在增加软件功能的同时,也加重了软件的安全问题。

软件使用场景更具威胁

计算机网络技术拓展了软件的功能范围和使用的方便程度,软件应用获得了极大的发展。与此同时,网络环境也给攻击者带来了更多的机会,给软件带来了更大风险。由于软件被应用于各种环境,会面对不同层次的使用者,这使得软件开发需要考虑更多的安全问题。同时,黑客和恶意攻击者可以比以往获得更多的时间和机会来访问软件系统,并尝试发现软件中存在的安全漏洞。

软件存在漏洞和缺陷是不可避免的,可以使用缺陷密度,即每千行代码中存在的软件缺陷数量,来衡量软件的安全性。如果采用严格的软件开发质量管理机制和多重测试技术,软件公司的缺陷率要低得多。